/** 路由属性 */
type RoutesType = {
  /** 是否默认页面 */
  index?: boolean;

  /** 路由地址 */
  path?: string;

  /** 路由名称 */
  name?: string;

  /** 路由对应的组件 */
  component?: React.LazyExoticComponent<React.FC<any>>;

  /** 路由对应的图标 */
  icon?: string;

  /** 子路由 */
  children?: RoutesType[];
};

/** 路由属性 */
type RouteItemType = {
  /** 主键 */
  key?: string;

  /** 是否默认页面 */
  index?: boolean;

  /** 路由地址 */
  path?: string;

  /**
   * 完整路径
   * @example parentPath/xxx
   */
  fullPath?: string;

  /** 路由名称 */
  name?: string;

  /** 子路由 */
  children?: RouteItemType[];

  /** 路由对应的组件 */
  element: any;
};

export type { RoutesType, RouteItemType };
